﻿using System.Drawing;
using System.Windows.Forms;
using System;

namespace MipsPipelineSimulator
{
    public struct Animate
    {
        public Line line;
        public int forward;
        public int spanTime;
        public Direction direction;
        public string text;
        public Font font;
        public Brush brush;
        public bool ifDisplayText;
        public int distance;
        public Graphics [] g;
    }

    public struct Line
    {
        public Point from;
        public Point end;
        public Pen pen;
    }

    public struct DrawPaths
    {
        public Animate[] animate;
        public Control control;
    }

    public struct DrawPath
    {
        public Graphics[] graphics;
        public Point[] points;
        public Pen pen;
    }

    public enum Direction { LeftToRight, TopToBottom, BottomToTop, RightToLeft };

    public struct Code
    {
        public CodeType codeType;

    }

    public enum CodeType{Mov,Add,Sub,Over};

    public struct Register
    {
        public string name;
        public TypeCode typeCode;
        public object value;
    }
}